package com.qckj.amz.service;

import com.qckj.amz.domain.ProductInit;
import com.qckj.common.core.domain.AjaxResult;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 初始化商品Service接口
 *
 * @author luchuan
 * @since 1.0 2021-12-17
 */
public interface IProductInitService  {
    /**
     * 查询初始化商品
     *
     * @param productInitId 初始化商品ID
     * @return 初始化商品
     */
    ProductInit findById(Long productInitId);

    /**
     * 分页查询初始化商品列表
     *
     * @param req 初始化商品
     * @return 初始化商品集合
     */
    Page<ProductInit> findProductInitPage(ProductInit req);

    /**
     * 查询初始化商品列表
     *
     * @param req 初始化商品
     * @return 初始化商品集合
     */
    List<ProductInit> findProductInitList(ProductInit req);

    /**
     * 新增初始化商品
     *
     * @param productInit 初始化商品
     * @return 结果
     */
    void save(ProductInit productInit);

    /**
     * 批量删除初始化商品
     *
     * @param productInitIds 需要删除的初始化商品ID
     * @return 结果
     */
    void deleteByIds(List<Long> productInitIds);

    /**
     * 删除初始化商品信息
     *
     * @param productInitId 初始化商品ID
     * @return 结果
     */
    void deleteProductInitById(Long productInitId);

    /**
     * 修改是否默认状态
     * @param productInitId     主键
     * @param qcIsDefault       是否默认值：true，false
     * @return
     */
    AjaxResult qcIsDefaultChange(String productInitId, String qcIsDefault);

    /**
     * 导出时通过当前用户获取常用属性
     * @return
     */
    AjaxResult productInitByCreateBy();
}
